package com.neouton.crm.generalReceiptRecord.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.neouton.common.util.PageUtil;
import com.neouton.crm.entity.SysUserEntity;
import com.neouton.crm.generalReceiptRecord.entity.GeneralReceiptRecord;
import com.neouton.crm.generalReceiptRecord.entity.GeneralReceiptTable;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface GeneralReceiptService {

     GeneralReceiptRecord saveManagerReceiptRecord(GeneralReceiptRecord managerReceiptRecord, String token);

    PageUtil<GeneralReceiptRecord> queryManagerReceiptRecordsListInfo(IPage<GeneralReceiptRecord> page, GeneralReceiptRecord managerReceiptRecord, List<SysUserEntity> userList, String token);

    List<GeneralReceiptRecord> queryManagerReceiptRecord(GeneralReceiptRecord managerReceiptRecord);

    Boolean approvedManagerReceiptRecord(GeneralReceiptRecord entity, String token, boolean auto);

    Boolean rejectionManagerReceiptRecord(GeneralReceiptRecord entity, String token);

    GeneralReceiptRecord queryManagerReceiptRecordHistory(Integer approvalId);

    List<GeneralReceiptRecord> queryReceiptRecordsListInfo(GeneralReceiptRecord entity, List<SysUserEntity> userList, String token);

    void exportReceiptRecordsInfo(HttpServletResponse response, List<GeneralReceiptRecord> list, String token) throws Exception;

    PageUtil<GeneralReceiptRecord> queryReceiptRecordsApprovalListInfo(IPage<GeneralReceiptRecord> page, GeneralReceiptRecord managerReceiptRecord, String token);

    Boolean deleteReceiptRecordById(Integer receiptRecordsId);
}
